var http = require("http");
var formidable = require('formidable');
var fs = require("fs");
var path = require("path");
//实现真正的图片上传,并添加拓展名

http.createServer(function(req, res) {
	if(req.url == "/dopost" && req.method.toLowerCase() == "post"){
		//create a new incoming form
		var form = new formidable.IncomingForm();
		// 设置上传路径
		form.uploadDir = './uploads';
		/*执行这个回调函数的时候，表单的数据已经全部接收完毕;
		   fields是个对象，提交过来的文字信息；files也是一个对象，上传上来的文件信息;
		   上传上来的文件，没有拓展名，所以需要自己升级一下，给图片加上拓展名;
		   使用fs.rename()
	     */
		form.parse(req, function(err, fields, files) {
			var oldPath = __dirname+'/'+files.img.path;
			var extname = path.extname(files.img.name);
			var newPath =__dirname+'/uploads/'+ (new Date()).getTime() + extname;
			fs.rename(oldPath, newPath,function(err){
				if(err){
					throw new Error("改名失败");
				}else{
					console.log("改名成功");
				}
				res.end("成功提交数据");
			});
			
		});
	}
}).listen(80,"127.0.0.1");
console.log('监听80端口');
